1. Field of the Invention
The present invention relates to processing data on a small computer system interface (SCSI) bus, and more particularly to a method for processing a fault or error on a SCSI bus which reduces damage to a target device.
2. Background of the Related Art
A small computer system interface (SCSI) is an interface unit which performs data input/output operations with a very low dependency on a central processing unit (CPU). In this regard, the SCSI has often been used in a personal computer or a voice mail communication system (VMS) due to increased data transfer rate. However, different types of communication equipment have been developed with a variety of interfaces, and it has been necessary for the user to bear the expense of new or updated interfaces with each development.
In order to overcome such a problem, the SCSI has been standardized and developed in such a way that a high-order standard is compatible with a low-order standard. As a result, because most SCSI peripheral devices are compatible with a host adaptor, they are interconnectable regardless of a system environment. Such a SCSI has been named a variety of terms (SCSI-1, SCSI-2, Fast SCSI-2, Ultra, Ultra Wide and Ultra2 Wide) according to its standards. The following table 1 shows points of difference among the SCSI standards.
FIG. 1 is a block diagram showing the construction of a related art SCSI system wherein a main processing unit (MPU) 1 and a hard disk 3 are interconnected via a SCSI bus 2. The MPU 1 essentially comprises a CPU, a memory and a SCSI card.
The hard disk 3 is partitioned into a boot region 3a, a file allocation table (FAT) region 3b, a root region 3c and a data region 3d. The boot region 3a is provided to run a program, and the FAT region 3b is a table for storing file information in an allocated area of the data region 3d. The root region 3c is provided to indicate a path of the hard disk 3 on which a specific file is located, and the data region 3d is adapted to actually store the file information.
In the above-mentioned SCSI system, the MPU 1 can transfer a write or read command to the hard disk 3 over the SCSI bus 2 or receive read data from the hard disk 3 over the SCSI bus 2 according to a specific application. During this process, a fault may occur on the SCSI bus 2 due to noise, poor hard disk connection, no response, etc. In such instances, the CPU in the MPU 1 typically returns a data transfer error value and displays it on a screen. If the CPU in the MPU 1 returns an error value resulting from a fault on the SCSI bus 2, a sector area of the target device executing a specific SCSI command may be subjected to fatal damage.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.
An object of the invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described hereinafter.
Another object of the present invention to provide a method for processing a fault on a SCSI bus that substantially obviates one or more of the problems caused by the disadvantages of the related art.
Another object of the present invention is to reduce damage to data stored on a target device.
Another object of the present invention is to provide a method of processing a fault on a SCSI bus in which when the fault occurs on the SCSI bus while a specific SCSI command is transferred over the SCSI bus between an initiator device (for example, a main processing unit) and target device (for example, a hard disk) in a SCSI system, data damage in the target device due to the SCSI bus fault can be reduced to a minimum.
To achieve at least the above objects in whole or in parts, and in accordance with embodiments of the present invention, in a SCSI system which has an initiator device and a target device interconnected via a SCSI bus, there is provided a method for processing a fault on the SCSI bus, comprising the steps of allowing the initiator device to request the target device to execute a specific SCSI command in response to a user""s control command; allowing the initiator device to process a normal script phase in response to the SCSI command to transfer the SCSI command to the target device over the SCSI bus; and allowing the initiator device to retry the transfer of the SCSI command to the target device a first predetermined number of times if the fault occurs on the SCSI bus while the SCSI command is transferred to the target device.
To further achieve the above-described objects of the present invention in a whole or in parts, there is provided a method for processing data on a SCSI bus, including the steps of a) requesting execution of a prescribed SCSI command in response to a control command, b) processing a script phase to transfer the SCSI command to a target device over the SCSI bus, and c) retrying the transfer of the SCSI command to the target device for a first prescribed number of times if an error occurs on the SCSI bus while the SCSI command is transferred to the target device.
To further achieve the above-described objects of the present invention in a whole or in parts, there is provided a method for processing data on a SCSI bus, including the steps of a) transferring a command over the SCSI bus to a target device to execute a SCSI command in response to a control command, b) determining whether the execution of the SCSI command has been normally completed, and c) repeating steps a) and b) for a first prescribed number of times if it is determined that the SCSI command has not been normally executed.
To further achieve the above-described objects of the present invention in a whole or in parts, there is provided a method for processing data on a SCSI bus, including the steps of a) resetting an input/output complete flag, b) transferring a command over the SCSI bus to a target device to execute a SCSI command in response to a control command, c) setting an input/output complete flag at a SCSI interrupt service routine, d) disabling an interrupt to prevent task switching between an input/output complete flag checking operation and an input/output cancellation operation, and e) performing the input/output complete flag checking operation.
To further achieve the above-described objects of the present invention in a whole or in parts, there is provided a small computer system interface (SCSI), including a first main processing unit, a second main processing unit coupled to the first main processing unit, a redundant array of independent disks (RAID) controller coupled to the first and second main processing units, and a plurality of memory storage devices coupled to the RAID controller, wherein the RAID controller is coupled to the first and second main processing units and the plurality of memory storage devices by a SCSI bus.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.